package com.lab.network.config;

/**
 * Created by ak
 *
 * 服务缓存策略枚举类型
 *
 */
public enum CachePolicyEnum {
    /**
     * 使用默认的协议加载, 会先查看缓存, 如果缓存过期，会从服务器加载， 否则直接返回缓存数据
     */
    RequestUseCacheWhenExpireReload(0),
    /**
     * 不会先检查缓存，会直接从网络获取，获取成功，会将数据存到缓存
     */
    RequestReload(1),
    /**
     * 不会先检查缓存，会直接从网络获取，获取成功，会将数据存到缓存， 如果从网络加载失败，会使用缓存数据
     */
    RequestReloadFailUseCache(2),
    /**
     * 无论缓存是否过期，都会先加载缓存，然后再从网络加载数据，如果缓存和网络都有数据，会向上层返回两次数据
     */
    RequestUseCacheThenReload(3),
    /**
     * 忽略任何缓存，无论是否网络加载成功都不会使用缓存
     */
    RequestIgnoreCache(4);
    private int id;

    CachePolicyEnum(int id) {
        this.id = id;
    }
}
